This invention is directed generally to a rendering engine architecture for computer graphics and, more specifically, to a parallel polygon/pixel rendering engine for providing three-dimensional Gouraud shaded objects rapidly.
In the computer graphics environment, there is a need to create three-dimensional Gouraud shaded objects rapidly in order to perform high speed operations such as animation. Examples of systems requiring such animation include, but are not limited to, digital map systems, helmet mounted displays and other types of aircraft displays as well as ground based computer graphics systems. In particular, a perspective view digital map system in an airplane cockpit must have the ability to display complex scenes of moving imagery in less than one-tenth of a second in order to assure that the display or display image presents smooth movement when animated.
Known polygon raster engines typically rasterize only one polygon at a time, a single line at a time while using only one rendering engine pipeline. The invention offers an improvement over the prior art by providing an apparatus which rasterizes one polygon at a time by simultaneously creating multiple lines of pixels to rapidly fill the polygon. The simultaneous rendering of multiple lines results in an increase in throughput capability which further enables display animation to be achieved.
While other alternatives to the approach used by the invention are available, they result in systems which are more complex or expensive. For example, one such alternate approach is based upon rasterizing a plurality of polygons in parallel using known single line drawing techniques. However, such an approach requires either a plurality of full frame memories to accommodate the polygons or a way of multiplexing the polygons into frame memory. The first choice using a plurality of memories is expensive, the second choice using multiplexing reduces throughput rates. Both of the above-described methods are complex and costly in comparison to the invention.
Honeywell Inc. of Minneapolis, Minn. has previously applied for a U.S. Pat. Ser. No. 07/307,354, filed Feb. 7, 1989, entitled Generic Interpolation Pipeline Processor by Miller et al., the teachings of which are hereby incorporated into this application by reference in their entirety. Honeywell Inc. has also applied for a United States patent entitled "Memory Interface Controller" Ser. No. 07/299,794, filed Jan. 23, 1989, by Snodgrass et al., the teachings of which are also incorporated herein by reference in their entirety. Miller, et al. teaches a generic interpolation pipeline processor or "GIPP" design to accelerate the polygon draw-and-fill operations used in real-time video display systems. The GIPP performs integer interpolation calculations, such as those found in intensity interpolation shading, at high speed (effectively, for example, 225 million operations per second). A single independent variable is used to calculate two different dependent variables in parallel. Thus, a single GIPP can be used to draw correctly shaded monochrome lines at up to 25 million pixels per second. To ease control of the draw-and-fill process, the GIPP is equipped with an internal counter to allow the drawing of shaded lines by specifying only the values at the end points. The inputs are double-buffered to allow efficient utilization of the chip's speed. The GIPP uses hardware handshaking to read its input data, and supply status bits indicating division by zero or invalid output data. Two GIPPs may be used to draw polygon edges and another one or more may be used to fill between the edges with a minimal amount of extraneous logic. When polygon edges are joined at their end points, a Join signal may be used to avoid writing both new end points into the GIPP. The present invention utilizes a plurality of GIPPs in order to accomplish high speed rendering of graphic display objects.
The memory interface controller (MIC) of Snodgrass, et al. is a memory interface controller apparatus for use in a digital system, such as a graphics display system. The apparatus comprises means for initializing the system memory, means for receiving incoming pixel data and means for performing hidden surface removal on the incoming pixel data as well as means for construction of images with transparent objects. The present invention uses a plurality of MICs in combination with GIPPs as well as other elements in order to provide three-dimensional animation with Gouraud shading.